package com.goulin.sprmvc.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.goulin.sprmvc.domain.DemoObj;

@Controller
@RequestMapping("/demo")
public class DemoAnnoController {
	@RequestMapping(produces="text/plain;charset=UTF-8")
	public @ResponseBody String index(HttpServletRequest request){
		return "url:"+request.getRequestURL()+" can access";
	}
	
	@RequestMapping(value="/pathvar/{str}",produces="text/plain;charset=UTF-8")
	public @ResponseBody String demoPathVar(@PathVariable String str ,HttpServletRequest request){
		return "url:"+request.getRequestURL()+" can access,str="+str;
	}
	@RequestMapping(value="/requestParam",produces="text/plain;charset=UTF-8")
	public @ResponseBody String demoPathVar(Long id ,HttpServletRequest request){
		return "url:"+request.getRequestURL()+" can access,id="+id;
	}
	@RequestMapping(value="/obj",produces="text/plain;charset=UTF-8")
	@ResponseBody
	public String passObj(DemoObj obj ,HttpServletRequest request){
		return "url:"+request.getRequestURL()+" can access,obj id="+obj.getId()+" obj name :"+obj.getName();
	}
	
	@RequestMapping(value={"/name?"},produces="text/plain;charset=UTF-8")
	public @ResponseBody String remove(HttpServletRequest request){
		return "url:"+request.getRequestURL()+" can access,";
	}
}
